home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 157 / 157.d81 / alien zoo (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  10KB  |  337 lines

  1. 10 poke55,0:poke56,52:clr
  2. 14 poke53371,0
  3. 20 print"[147]":gosub2000
  4. 30 :
  5. 40 poke53371,0:poke53269,0:gosub990:cl=10:rw=4:tb=10:wd=18:ln=11:gosub1430
  6. 50 poke214,6:print:printtab(14)"[158]options menu":printtab(14)"[156]            "
  7. 80 printtab(14)"[156]start game":printtab(14)md$(md):printtab(14)"level"lv
  8. 85 fori=.to2:printtab(14)m$(i):next
  9. 90 printtab(14)"            "
  10. 100 printtab(12)"[158]crsr keys/return":f=1
  11. 120 syssm+14,55910,55922,55630+40*f
  12. 130 gosub2300
  13. 140 syssm+14,55630,55642,55630+40*f
  14. 150 ifa$=""orjy=125thenf=f+1:iff>6thenf=1
  15. 160 ifa$="[145]"orjy=126thenf=f-1:iff<1thenf=6
  16. 170 ifa$<>chr$(13)andjy>111then120
  17. 180 onfgoto190,195,200,220,220,220
  18. 190 gosub1250:gosub1010:goto290
  19. 195 md=md+1:ifmd>2thenmd=0
  20. 196 poke214,9:print:sysad+9,15:printtab(14)""md$(md)" ":goto120
  21. 200 lv=lv+1:iflv>10thenlv=1
  22. 210 poke214,10:print:sysad+9,15:printtab(20)"  [157][157][157]"lv:goto120
  23. 220 syssm,1024,2024,30720:syssm+14,55296,56296,31744
  24. 230 onf-3goto240,250,260
  25. 240 sysad+9,12:gosub1490:goto270
  26. 250 gosub2660:goto270
  27. 260 sysad+9,3:gosub1770:ifa$="y"thensysad+3:goto40000
  28. 270 syssm+14,31744,32744,55296:syssm,30720,31720,1024:goto120
  29. 280 :
  30. 290 fori=.to7:poke2040+i,208+i:next:poke2041,208
  31. 300 syssm+14,51800,51847,53248
  32. 320 mv=0:gosub2480:r=0-(md=2):c=0-(md=2):r2=7:c2=7:al=0
  33. 330 poke53248,c*32+28:poke53249,r*32+54:poke53269,1
  34. 340 :
  35. 350 poke198,0:gosub2300
  36. 360 ifa$=""orjy=119thenc=c+1:ifc>5+(md=2)thenc=5+(md=2)
  37. 370 ifa$="[157]"orjy=123thenc=c-1:ifc<0-(md=2)thenc=0-(md=2)
  38. 380 ifa$=""orjy=125thenr=r+1:ifr>5+(md=2)thenr=5+(md=2)
  39. 390 ifa$="[145]"orjy=126thenr=r-1:ifr<0-(md=2)thenr=0-(md=2)
  40. 400 poke53248,c*32+28:poke53249,r*32+54
  41. 405 ifjy<112andmd=0thenpoke53371,0:goto470
  42. 410 ifa$=" "orjy=107thenpoke53371,0:onmd+1goto350,570,490
  43. 415 ifa$=chr$(13)orjy=103thenpoke53371,0:onmd+1goto470,580,590
  44. 420 ifa$=chr$(160)orjy=110andmd=1thenpoke53371,0:goto670
  45. 425 ifa$=chr$(141)orjy=109andmd=1thenpoke53371,0:goto680
  46. 430 ifa$="[211]"thengosub1880
  47. 440 ifa$="[133]"thengosub1030
  48. 450 ifa$="[134]"thengosub990:gosub2660:gosub1010:poke53269,1
  49. 455 ifa$="[136]"thengosub1810:ifa$="y"then40
  50. 460 goto350
  51. 465 rem switch
  52. 470 ifr=r2andc=c2thensysad+9,2:poke53269,1:al=0:r2=7:c2=7:goto350
  53. 472 al=al+1:ifal=2then475
  54. 473 sysad+9,7:poke53250,c*32+28:poke53251,r*32+54:poke53269,3:r2=r:c2=c:goto350
  55. 475 f=bd(r,c):bd(r,c)=bd(r2,c2):bd(r2,c2)=f:sysad+9,14:poke53269,0
  56. 476 poke214,r*4:print:printtab(c*4+1)a$(bd(r,c))
  57. 477 poke214,r2*4:print:printtab(c2*4+1)a$(bd(r2,c2))
  58. 478 r2=7:c2=7:al=0:goto710
  59. 480 rem rotate
  60. 490 gosub2340:sysad+9,7:f=bd(r-1,c-1)
  61. 500 bd(r-1,c-1)=bd(r-1,c)
  62. 510 bd(r-1,c)=bd(r-1,c+1)
  63. 520 bd(r-1,c+1)=bd(r,c+1)
  64. 530 bd(r,c+1)=bd(r+1,c+1)
  65. 540 bd(r+1,c+1)=bd(r+1,c)
  66. 550 bd(r+1,c)=bd(r+1,c-1)
  67. 555 bd(r+1,c-1)=bd(r,c-1)
  68. 560 bd(r,c-1)=f:goto690
  69. 565 rem left
  70. 570 f=bd(r,0):sysad+9,7
  71. 572 fori=.to4:bd(r,i)=bd(r,i+1):next:bd(r,5)=f
  72. 575 poke53269,0:poke214,r*4:print
  73. 576 fori=.to5:printtab(i*4+1)a$(bd(r,i))"[145][145][145]":next:goto710
  74. 578 rem up
  75. 580 f=bd(0,c):sysad+9,7
  76. 581 fori=.to4:bd(i,c)=bd(i+1,c):next:bd(5,c)=f
  77. 582 poke53269,0:fori=.to5:poke214,i*4:print
  78. 583 printtab(c*4+1)a$(bd(i,c)):next:goto710
  79. 585 rem right
  80. 590 gosub2340:sysad+9,14:f=bd(r-1,c-1)
  81. 600 bd(r-1,c-1)=bd(r,c-1)
  82. 610 bd(r,c-1)=bd(r+1,c-1)
  83. 620 bd(r+1,c-1)=bd(r+1,c)
  84. 630 bd(r+1,c)=bd(r+1,c+1)
  85. 640 bd(r+1,c+1)=bd(r,c+1)
  86. 650 bd(r,c+1)=bd(r-1,c+1)
  87. 655 bd(r-1,c+1)=bd(r-1,c)
  88. 660 bd(r-1,c)=f:goto690
  89. 665 rem right
  90. 670 f=bd(r,5):sysad+9,14
  91. 672 fori=5to1step-1:bd(r,i)=bd(r,i-1):next:bd(r,0)=f:goto575
  92. 678 rem down
  93. 680 f=bd(5,c):sysad+9,14
  94. 681 fori=5to1step-1:bd(i,c)=bd(i-1,c):next:bd(0,c)=f:goto582
  95. 685 :
  96. 690 poke53269,0:fori=r-1tor+1:poke214,i*4:print
  97. 700 forj=c-1toc+1:printtab(j*4+1)a$(bd(i,j))"[145][145][145]":next:next
  98. 710 mv=mv+1:poke214,11:print:printtab(33)""mv:goto740
  99. 730 :
  100. 740 f=0:fori=.to2:forj=.to2
  101. 750 x%=bd(5-i,5-j)/6:y%=bd(5-j,5-i)/6
  102. 760 x=int(bd(i,j)/6):y=int(bd(j,i)/6)
  103. 770 fork=.to5:ifk=jthen790
  104. 780 ifint(bd(i,k)/6)=xorint(bd(k,i)/6)=ythenf=1:k=5:j=2:i=2
  105. 790 ifk=5-jthen810
  106. 800 ifint(bd(5-i,k)/6)=x%orint(bd(k,5-i)/6)=y%thenf=1:k=5:j=2:i=2
  107. 810 next:next:next
  108. 820 iff=0then850
  109. 830 poke53269,1:goto350
  110. 840 :
  111. 850 gosub990:ifmv>=sc(md,lv)andsc(md,lv)<>0then950
  112. 860 sysad+9,5:cl=4:rw=7:tb=5:wd=27:ln=6:gosub1430
  113. 870 poke214,9:print:poke53271,1:poke53277,1:poke53288,10:poke2041,209
  114. 875 poke53250,81:poke53251,134
  115. 880 printtab(11)"a new best score!
  116. 890 [153][163]11)"great going, kid!":[151]53269,6
  117. 900 [153][163]9)"(now don't get foggy)":[151]198,0
  118. 910 n$(md,lv)[178]n$:sc(md,lv)[178]mv
  119. 920 [161]a$:[139]a$[178]""[167]920
  120. 930 [141]1490:lv[178]lv[170]1:[139]lv[177]10[167]lv[178]1:[141]2580:[141]1010:[137]40
  121. 940 [141]1010:[137]290
  122. 950 [158]ad[170]9,8:cl[178]4:rw[178]9:tb[178]11:wd[178]16:ln[178]2:[141]1430
  123. 960 [153][163]13)"onononyou solved it!":[137]920
  124. 980 :
  125. 990 [158]sm,1024,2024,16384:[158]sm[170]14,55296,56296,17408:[142]
  126. 1000 :
  127. 1010 [158]sm[170]14,17408,18408,55296:[158]sm,16384,17384,1024:[142]
  128. 1020 :
  129. 1030 [141]990:[153]""[163]7)"[[[[[[[[[[[[":[151]53269,0
  130. 1040 [151]214,23:[153]:[153][163]7)" checking... "
  131. 1050 [129]i[178].[164]5:f[178]0:[129]j[178].[164]5
  132. 1060 x[178][181](bd(j,i)[173]6)
  133. 1070 [129]k[178].[164]5:[139]k[178]j[167]1090
  134. 1080 [139][181](bd(k,i)[173]6)[178]x[167]f[178]1:k[178]5:j[178]5
  135. 1090 [130]:[130]:[153]""[163]i[172]4[170]2);
  136. 1100 [139]f[178]1[167][153]"\":[158]ad[170]9,2:[137]1120
  137. 1110 [153]"\":[158]ad[170]9,1
  138. 1120 [130]
  139. 1130 [129]i[178].[164]5:f[178]0:[129]j[178].[164]5
  140. 1140 y[178][181](bd(i,j)[173]6)
  141. 1150 [129]k[178].[164]5:[139]k[178]j[167]1170
  142. 1160 [139][181](bd(i,k)[173]6)[178]y[167]f[178]1:k[178]5:j[178]5
  143. 1170 [130]:[130]:[151]214,i[172]4[170]1:[153]:[153][163]24);
  144. 1180 [139]f[178]1[167][153]"\":[158]ad[170]9,2:[137]1200
  145. 1190 [153]"\":[158]ad[170]9,1
  146. 1200 [130]
  147. 1210 [153][163]6)" press a key ":[151]198,0
  148. 1220 [161]a$:[139]a$[178]""[167]1220
  149. 1230 [141]1010:[151]53269,1[170]al[172]2:[142]
  150. 1240 [143] -- player name --
  151. 1250 [158]ad[170]9,11:cl[178]4:rw[178]8:tb[178]7:wd[178]24:ln[178]4:[141]1430
  152. 1260 [153][163]9)"onononononprintplease enter your name":[151]53370,0
  153. 1270 f$[178]n$:f[178]0:b$[178]"__\\^^\\__  "
  154. 1280 [151]214,12:[153]:[153][163]12)f$;
  155. 1290 f[178]f[170]1:[139]f[177]12[167]f[178]1
  156. 1300 [153]"print"[202](b$,f,1)"cmd";
  157. 1310 jy[178][194](56320):[161]a$:[139]a$[178]""[175]jy[178]127[167]1290
  158. 1320 [139]a$[177]"@"[175]a$[179]"["[167]1380
  159. 1330 [139]a$[177]","[175]a$[179]":"[167]1380
  160. 1340 [139]a$[178]" "[167]1380
  161. 1350 [139](a$[178][199](13))[176](jy[179]112)[175](f$[179][177]"")[167][153]" ":[151]53371,0:[137]1410
  162. 1360 [139]a$[178][199](20)[175]f$[177]""[167]f$[178][200](f$,[195](f$)[171]1):[153]" cmdcmdprint";
  163. 1370 [137]1290
  164. 1380 [139][195](f$)[177]15[167]1290
  165. 1390 [153]""a$;:f$[178]f$[170]a$
  166. 1400 [137]1290
  167. 1410 n$[178]f$:[142]
  168. 1420 :
  169. 1430 [151]646,cl:[151]214,rw:[153]
  170. 1440 [153][163]tb)";"[200](x$,wd)"<"
  171. 1450 [129]i[178].[164]ln:[153][163]tb)"#"[200](s$,wd)"#":[130]
  172. 1460 [153][163]tb)"="[200](x$,wd)">"
  173. 1470 [142]
  174. 1480 :
  175. 1490 [151]53269,.:[153]"load";
  176. 1500 a$[178]"cont[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[cmdsave["
  177. 1510 [129]i[178].[164]4:[153]a$:[130]
  178. 1520 [153]"onononon;"[200](x$,34)"<"
  179. 1530 [153]"# list(NULL) clrthe quirkonian hall of fame! list(NULL) #"
  180. 1540 [153]"="[200](x$,34)">"
  181. 1550 [153]" cont\\\\\\\\\     \\\\\\\\\\     \\\\\\\\\"
  182. 1560 [153]" cont\ level cont\     cont\ player cont\     cont\ moves cont\"
  183. 1570 [153]" cont\\\\\\\\\     \\\\\\\\\\     \\\\\\\\\"
  184. 1590 [129]i[178]10[164]1[169][171]1
  185. 1600 [153][163]6[171][195]([196](i)))""i"cmd."[163]12)[202](c$,i,1)[200](s$,16)
  186. 1610 [153][163]12)[202](c$,i,1)"on"n$(md,i)[163]36[171][195]([196](sc(md,i))))""sc(md,i)
  187. 1620 [130]
  188. 1630 [153][163]30)"clrpress any"
  189. 1640 [153]" sclrave scores   eclrrase scores   clrother key"
  190. 1650 [153][163]31)"to exit"
  191. 1660 [158]sm[170]14,55296[170]400,55296[170]800,55296[170]360
  192. 1670 [158]sm[170]14,55296[170]360,55296[170]400,55296[170]760
  193. 1680 jy[178][194](56320):[161]a$:[139]a$[178]""[175]jy[177]111[167]1660
  194. 1682 [141]2310:[151]53371,0
  195. 1690 [139]a$[179][177]"s"[175]a$[179][177]"e"[167][142]
  196. 1700 [159]15,dv,15,"s0:zoo.scores":[160]15
  197. 1710 [139]a$[179][177]"e"[167]1730
  198. 1720 [129]i[178]1[164]10:n$(md,i)[178]"the nameless one":sc(md,i)[178]0:[130]
  199. 1730 [159]8,dv,8,"zoo.scores,p,w"
  200. 1740 [129]i[178].[1